<?php

session_start();

/***************************************************
					SAFE DRIVING
****************************************************
		Projets dŽveloppement - SUPINFO 2011
***************************************************/

/**
 * Gestion des clients par les commerciaux
 * 
 * Uniquement depuis l'interface "Espace Perso" dédié aux commerciaux
 */

// On donne le fichier includes.php qui va permettre de dŽclarer les constantes, classes et le noyau Adelina
include 'includes.php';

// On instantie Adelina : Les classes du framework sont chargŽes
$Adelina = new Adelina();
$Sql = new SD_Base();

// Paramètres de session
$session_type = @$_SESSION['SESSION_TYPE'];
$session_id = @$_SESSION['SESSION_ID'];
$session_cle = @$_SESSION['SESSION_CLE'];

// On va vérifier que l'utilisateur n'est pas déjà connecté. Dans ce cas, on va le redirigé vers la zone consernée
if($session_type == "" || $session_type == false)
{
	// L'utilisateur n'est pas connecté
	header('Location: connexion.php'); 

}
else 
{
	if(@$_POST['mode'] == "" && @$_GET['id'] == "")
	{
		$tpl = new Template();
		$tpl->set_rootdir("templates/");
	
		$page = new SD_Page($tpl);
		$page->displayHead("commercial_clients","Gestion des v&eacute;hicules");
		$page->displayHeader("PERSO", "oui");
	
		// On récupère les informations sur le commercial
		$Commercial = new SD_Commercial();
		$Commercial->setCommercialById($session_id);
		
		// On récupère son agence :
		$Agence = new SD_Agence();
		$Agence->setAgenceById($Commercial->getAgenceId());
		
		// On affiche le tout :
		$tpl->assign_var("AGENCE_NOM", $Agence->getVille());
		$tpl->assign_var("AGENCE_ID", $Agence->getId());
		
		/**
		 * Liste des Types de véhicules
		 */
		
		// On récupère déjà la liste des véhicules de l'agence
		SD_Base::$db->select("*",DB_TYPEVEHICULE);
		
		// Combien de vehicules ?
		$nb_vehicule = SD_Base::$db->db_num_row;
		
		// On récupère tous les véhicules
		for($i=0;$i<$nb_vehicule;$i++)
		{	
			// On récupère les champs
			$type_id = SD_Base::$db->result($i, DB_TYPEVEHICULE_ID);
			$type_lib = SD_Base::$db->result($i, DB_TYPEVEHICULE_LIBELLE);
			
			// Variables pour l'affichage
			$vararrayVehicule = array("ID" => $type_id, "LIB" => $type_lib);
			
			$tpl->assign_block_vars("TYPE", $vararrayVehicule);	
		}
		
		/**
		 * Liste des Vehicules de l'agence
		 */
		
		// On récupère déjà la liste des véhicules de l'agence
		SD_Base::$db->select(DB_VEHICULE_ID.", ".DB_VEHICULE_MARQUE.", ".DB_VEHICULE_MODELE.", ".DB_TYPEVEHICULE_LIBELLE,DB_TYPEVEHICULE.", ".DB_VEHICULE,DB_TYPEVEHICULE.".".DB_TYPEVEHICULE_ID."=".DB_VEHICULE.".".DB_VEHICULE_TYPE." AND ".DB_VEHICULE_AGENCE ." = ". $Agence->getId() ."",DB_TYPEVEHICULE_ID);
		
		// Combien de vehicules ?
		$nb_vehicule = SD_Base::$db->db_num_row;
		
		$query_vehicule = SD_Base::$db->db_result;
		
		// On récupère tous les véhicules
		for($i=0;$i<$nb_vehicule;$i++)
		{	
			// On récupère les champs
			$vehicule_id = SD_Base::$db->result($i, DB_VEHICULE_ID);
			$vehicule_type = SD_Base::$db->result($i, DB_TYPEVEHICULE_LIBELLE);
			$vehicule_marque = SD_Base::$db->result($i, DB_VEHICULE_MARQUE);
			$vehicule_modele = SD_Base::$db->result($i, DB_VEHICULE_MODELE);
			
			$Date = new Adelina_Date();
			$Date->setDate_Now();
			$sql_date = $Date->getDateAAAAMMJJ() ." ". $Date->getDateHHMMSS();
			
			// On regarde si le vehicule n'est pas affecté à une session
			SD_Base::$db->select("*",DB_SESSIONHASVEHICULE.", ".DB_SESSIONFORMATION,DB_SESSIONFORMATION.".".DB_SESSIONFORMATION_ID." = ".DB_SESSIONHASVEHICULE.".".DB_SESSIONHASVEHICULE_SESSION." AND ".DB_SESSIONHASVEHICULE_VEHICULE." = ".$vehicule_id." AND ".DB_SESSIONFORMATION_DATE." > '".$sql_date."'");
			
			// Combien de sessions ?
			$nb_sessions = SD_Base::$db->db_num_row;
			if($nb_sessions != 0){
				$display = "none";
			}else{
				$display = "";
			}
			
			// Variables pour l'affichage
			$vararrayVehicule = array("ID" => $vehicule_id, "TYPE" => $vehicule_type, "MARQUE" => $vehicule_marque,"MODELE" => $vehicule_modele, "DISPLAY" => $display);
			
			$tpl->assign_block_vars("VEHICULE", $vararrayVehicule);	
			
			SD_Base::$db->db_result = $query_vehicule;
		}
	
		// Affichage de la page
		$tpl->set_filenames(array("PageCommercial" => "espace_commercial_vehicule.tpl"));
		$tpl->pparse("PageCommercial");

		$page->displayFooter();	
	} 
	elseif(@$_POST['mode'] == "" && @$_GET['id'] != "")
	{
		//On supprime d'abord les dépendances, c'est à dire, les ligne de SessionFormation_has_véhicule qui utilise le véhicule
		SD_Base::$db->delete(DB_SESSIONHASVEHICULE,DB_SESSIONHASVEHICULE_VEHICULE." = ". $_GET['id']);
		
		//On peut alors supprimer le véhicule de la table véhicule
		SD_Base::$db->delete(DB_VEHICULE,DB_VEHICULE_ID." = ". $_GET['id']);	
		
		// On redirige vers la gestion des véhicule
		header("Location: commercial_vehicule.php");
	}
	elseif(@$_POST['mode'] != "" && @$_GET['id'] == "")
	{
		// On récupère les informations sur le commercial
		$Commercial = new SD_Commercial();
		$Commercial->setCommercialById($session_id);
		
		// On récupère son agence :
		$Agence = new SD_Agence();
		$Agence->setAgenceById($Commercial->getAgenceId());
		
		//On récupère les variables nécessaires
		$vehicule_type = $_POST['type'];
		$vehicule_agence = $Agence->getId();
		$vehicule_marque = $_POST['marque'];
		$vehicule_modele = $_POST['modele'];
		
		//On ajoute !
		$insertValues = array('',$vehicule_agence,$vehicule_type,$vehicule_marque,$vehicule_modele);
		SD_Base::$db->insert(DB_VEHICULE,"",$insertValues);
		
		// On redirige vers la gestion des véhicule
		header("Location: commercial_vehicule.php");
	}
}

$Sql->closeDatabase();

?>